<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="text/javascript">
        const obj = {
            a: 1
        }
        var a = 2;

        function test(b, c) {
            console.log(this.a, b, c);
        }
        test() // 2  因为this 默认指向全局对象window 

        // 改变this指向
        test.call(obj, 3, 4) // 1 改变this指向obj
        test.apply(obj, [3, 4]); // call与apply都是立即执行，区别就是传参 一个是传数组 一个是传单个值

        // bind不会立即执行并且只能生效一次，改变this指向 

        // 箭头函数的this指向->外层非箭头函数的this指向
    </script>
</body>

</html>